package com.devmindset.legoframework.client.mvc.metadata;

import com.devmindset.legoframework.client.mvc.LegoComponent;
import com.devmindset.legoframework.client.screen.LegoPlaceholder;
import com.devmindset.legoframework.client.screen.ApplicationScreen;

/**
 * Specifies the mapping between a {@link LegoPlaceholder} and
 * a {@link LegoComponent}s in a given {@link ApplicationScreen}.
 * 
 * @author <a href="ice.penov@devmindset.com">Ice Penov</a>
 */
public class PlaceholderMapping {
	
	private LegoPlaceholder placeholder;
	private Class<? extends LegoComponent>[] components;
	
	/**
	 * Creates a placeholder mapping.
	 * 
	 * @param placeholder the placeholder
	 * @param component
	 */
	public PlaceholderMapping(LegoPlaceholder placeholder, Class<? extends LegoComponent>... components) {
		this.placeholder = placeholder;
		this.components = components;
	}

	public LegoPlaceholder getPlaceholder() {
		return placeholder;
	}

	public Class<? extends LegoComponent>[] getComponents() {
		return components;
	}
	
}